/*
 * NodoB.h
 *
 *  Created on: 08/11/2011
 *      Author: agustin
 */

#ifndef NODOB_H_
#define NODOB_H_
#include <string>
#include <iostream>
using namespace std;

typedef struct reg_arbolB {
	string termino;
	size_t posicion;
} reg_arbolB;

class NodoB {
public:
	NodoB();
	virtual ~NodoB();

	bool estaLleno();
	int addDato(reg_arbolB* dato);
	void setExtra(reg_arbolB* dato);
	reg_arbolB* getExtra();
	void setHijo(NodoB* hijo, size_t pos);
	NodoB* getHijo(size_t pos);
	size_t getTam();
	bool tieneExtra();
	void print();
	int buscar(string termino);
	bool esHoja();

private:
	reg_arbolB* datos;
	NodoB** hijos;
	size_t cant_datos;
	const static size_t tam_nodo = 8;
//  Este es un dato extra que se usa para la formacion del arbol y despues se elimina
	reg_arbolB* extra;
};

#endif /* NODOB_H_ */
